<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>JPEG 2000 for Pascal</title>
  </head>
  <body>
    <h1>JPEG 2000 for Pascal</h1>
    <h3>v 1.00 (7th July 2009)</h3>
    <a href="http://galfar.vevb.net/pasjpeg2000">Homepage</a>
    
    
    <p>JPEG 2000 for Pascal is library for Object Pascal (Delphi and Free Pascal) developers that want to use JPEG 2000 images in their applications. It is based on <a href="http://www.openjpeg.org/" target="_blank">OpenJpeg</a> library written in C language (BSD license). C library is precompiled (using C++ Builder for Delphi and GCC for FPC) for several platforms and Pascal header is provided. Some higher level classes for easier manipulation with JPEG 2000 images are part of the JPEG 2000 for Pascal as well.</p>
<h3>Library Contents </h3>
<ul>
<li>Cross-platform Pascal interface to OpenJpeg - low level access to precompiled library. Currently supported platforms: Windows 32bit, Linux 32/64bit, and Mac OS X. </li>
<li>VCL wrapper for Delphi (TBitmap descendant) enabling easy loading and saving of JPEG 2000 images.</li>
<li>Samples that demonstrate usage of all library interfaces and few test images in various data formats. </li>
</ul>
<h4></h4>
<h3>Installation</h3>
<p><em>Delphi</em>: Just add some of JPEG 2000 for Pascal units you wan to use to your uses clause (must be in you search path) and precompiled library will be linked automatically.</p>
<p><em>Free Pascal</em>: OpenJpeg is compiled into static libraries so you have to set library search path when compiling your project. Libraries are located in <strong>J2KObjects</strong> directory. </p>
<h3>Future Plans</h3>
<ul>
<li>Lazarus LCL support</li>
</ul>
<h3>Notes and Tips</h3>
<p>If you want to recompile OpenJpeg yourself (custom modification, other compiler settings, etc.) note that Pascal header is based on SVN revision 507 with my CDEF patch applied (needed to store alpha channels correctly and for better compatibility of saved files with other software). You can get the patch and some more info here: <a href="http://groups.google.com/group/openjpeg/browse_thread/thread/1cb7807b2053592e" target="_blank">OpenJpeg group on Google</a>.</p>
<p>In this thread there's also a mention about channel values being saved as 128. When library is compiled with GCC (depends on optimization settings) fourth and subsequent image channel is saved wrongly and all pixels have the value of 128 for this channel. So when recompiling make sure you test if this problem appears.</p>
   

  </body>
</html>
